/*
*********************************************************************************************************
*
* 模块名称:    工具层
* 文件名称:    buffer.c
* 版本号  :    V1.0
* 说    明:    缓冲区统一结构
*
*********************************************************************************************************
*/

#ifndef __LITE_BUFFER_H
#define __LITE_BUFFER_H

#include "LiteType.h"

typedef struct 
{
  u8 *data;     // 指向实际数据缓冲区的指针
  u16 size;     // 缓冲区总容量
  u16 length;   // 当前已使用的数据长度
}BUFFER_T;

//  初始化缓存区
void BUF_Init(BUFFER_T *buf, u8 *data, u16 size);
//  写入一组数据
u8 BUF_Write(BUFFER_T *buf, u8 *src, u16 len);
//  格式化写入
u8 BUF_Write_Format(BUFFER_T *buf, char *format, ...);
//  清除长度
void BUF_Clear(BUFFER_T *buf);
//  清除数据
void BUF_DelData(BUFFER_T *buf);
//  返回队尾指针
u8* BUF_GetTailInfo(BUFFER_T *buf);
//  得到剩余空间
u16 BUF_GetRemainSize(BUFFER_T *buf);

#endif
/***************************** LiteBsp by Miaozi (END OF FILE) *********************************/
